/**********************addressType入参***************************************/
/**
 * 不存在可选收件人
 * NOTANY(0, '不存在可选收件人'),
 */

/**
 * 包含全体人员
 * ALLUSERS(1, '包含全体人员'),
 */

/**
 * 包含全体公司（本人所处分公司）成员
 * COMPANY(2, '包含全体公司（本人所处分公司）成员'),
 */

/**
 * 全体集团成员（跨公司）
 * GROUP(3, '全体集团成员（跨公司）'),
 */

/**
 * 部门成员（当前部门及所有子部门）
 * DEPT(10, '部门成员（当前部门及所有子部门'),
 */

/**
 * 所有部门成员（当前部门、上级部门（递归到公司级）及所有子部门）
 *  DEPT1(11, '所有部门成员（当前部门、上级部门（递归到公司级）及所有子部门）'),
 */

/**
 * 当前部门成员
 * DEPT2(12, '当前部门成员'),
 */

/**
 * 当前部门及一级子部门成员
 *
 * DEPT3(13, '当前部门及一级子部门成员'),
 * CUSTOMDEPT(14, '自定义部门'),
 * ROLE(15, '自定义角色'),
 * POS(16, '自定义岗位'),
 * USEID(17, '自定义人'),
 * CUSTOMIZE_EXTERNAL(18, '外部人员信息');
 */

import { TreeDataItem } from 'ant-design-vue/es/tree/Tree';

// sceneType 入参
export enum SceneTypeEnum {
  'DEPT' = 1,
  'POST' = 2,
  'ROLE' = 4,
  'GENERAL' = 7,
  'PERSON' = 8,
}

// 接口响应后对应取值数组
export enum GetRenderList {
  'DEPT' = 'deptList',
  'POST' = 'postList',
  'ROLE' = 'roleList',
  'PERSON' = 'userList',
}
// sceneType 入参对应文本
export enum SceneTypeEnumText {
  'DEPT' = '部门',
  'POST' = '岗位',
  'ROLE' = '角色',
  'PERSON' = '人员',
  'GENERAL' = '综合数据',
}

export enum OrgTypeValue {
  'drafterId' = -1,
  'nowUserId' = -2,
}

export type SceneType = 'DEPT' | 'POST' | 'ROLE' | 'PERSON';

export type SceneTypeValue = 1 | 2 | 4 | 8;

export type AddressType = 1 | 2 | 3 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 99;

export interface ListItem extends TreeDataItem {
  id: string;
  name: string;
  type: number | undefined;
  code?: string;
  parentId?: string;
  children?: ListItem[];
  weight?: number;
}

export interface TreeDataListObject {
  deptList?: ListItem[];
  postList?: ListItem[];
  userList?: ListItem[];
  roleList?: ListItem[];
}
